1. Field of the Invention
This invention relates generally to graphical user interfaces and, more particularly, to control of computer activities with graphical user interface pointing devices.
2. Description of the Related Art
The interactive computer system operating environment, such as encountered by users of personal computers and the like, is characterized by increasing ease of operation and convenience. An important contribution to making the operation of such computers easier and more convenient is the graphical user interface (GUI). A GUI provides a computer interface that is visually oriented and includes a variety of graphical artifacts displayed on a computer display that make the operation of the computer more intuitive and thereby can increase the efficiency of the user.
A GUI operating system enables a user, for example, to move a computer display pointer by using a GUI pointing device such as a display mouse or track ball that is attached to the computer. Generating a control input by moving the mouse across a desktop or rolling the track ball in its cradle moves the pointer across the display in the same direction of movement, according to a response function of the pointing device. The relationship between pointing device control input and pointer response on the display screen is intuitive. Most GUI systems permit multiple programs to be represented simultaneously on the computer display as different display windows. The boundaries of the windows can be adjusted or can be reduced to an icon representation. To activate a program, or to re-enter it, a user targets the display pointer within the desired program window or targets the display icon representing the program and presses a button of the display mouse or track ball device. Pressing the button, also referred to as "clicking" it, activates or re-enters the program. To activate a program without the GUI, a user would need to type the name of an executable file and provide it to the operating system. In this way, the keystrokes needed to activate or re-enter a program are eliminated or at least severely reduced, making the computer easier and more convenient to use. Pointing to a desired activity is highly intuitive and therefore makes learning the operation of the computer easier and more convenient.
Additional improvements to program interaction through graphical user interface display pointer control are rapidly being achieved. For example, International Business Machines Corporation (IBM Corporation) has introduced a display pointer control feature called "TrackPoint II" that includes a small, substantially rigid joystick-type actuator placed approximately in the center of an otherwise conventional computer keyboard. The "TrackPoint II" control actuator is placed approximately in the middle of the keyboard, between the hands of a typist at the home position, and is sufficiently short so it does not interfere with normal typing on the keyboard. A computer user can apply lateral forces to the control actuator to move the pointer around on the computer display, rather than using a display mouse. The keyboard provided with the "TrackPoint II" feature preferably includes buttons that duplicate the function of the display mouse buttons. In this way, the user's hands do not need to leave the keyboard to control the display pointer. This feature is especially desirable in a portable computer, known as a laptop or notebook computer, having a graphical user interface, where it can be inconvenient or difficult to connect a mouse or track ball to the computer to control display pointer movement. The IBM Corporation notebook computer called "ThinkPad 750", for example, includes a "TrackPoint II" control actuator.
On occasion, it can be advantageous to have control of more than one display pointer because, as noted above, graphical user interfaces permit multiple programs, or windows, to be active and displayed at the same time and it could be useful to have a different pointer for different windows. In addition, even within a single window there will likely be features or artifacts with which it might be advantageous to place a pointer that remains even after the user exits that window. Thus, multiple pointers would provide place markers that would be recalled when the user returns to the window.
It is known to provide a computer workstation for computer aided design (CAD) with both a movable pointer that is controlled by a display mouse and a movable cursor that can be moved across a display window with a tablet device. Although such a CAD workstation system provides a pointer and a cursor that can be controlled independently, the system does not provide desired flexibility in that the pointer responds only to the display mouse and the cursor responds only to the tablet. In addition, the cursor typically is limited to movement about designated windows and cannot be moved across the entire display screen. Finally, it typically is not possible to use additional pointers or cursors other than the two provided by the workstation configuration.
It would be advantageous to permit greater exploitation of the operating ease and efficiency obtained through the GUI environment by providing multiple pointers. For computers that do not support a GUI operating environment, it still would be advantageous to have the use of multiple pointers that can be created and manipulated by the computer user. Such multiple pointers could be used as place markers within a single text file. For the typical personal computer system, it could be possible to attach multiple pointing devices, but they still would control only the single pointer provided by most operating systems. In addition, only a limited number of pointing devices can be attached, due to the limited number of device hardware serial ports that are available. For example, most personal computers are capable of accommodating, at most, two display devices. Finally, it would be preferable to minimize the amount of additional equipment and hardware modification necessary to the personal computer design to provide multiple pointers.
From the discussion above, it should be apparent that there is a need for a pointer system for computers such that multiple display pointers can be created, manipulated, and easily distinguished from each other. Such a pointer system would permit easier and more convenient control of operations without being constrained by the limitations of hardware ports and desktop space. The present invention satisfies this need.